package br.edu.ufam.controleAcesso

import br.edu.ufam.avaliacao.AvaliacaoController
class HomeController {

    def index = {
       
        def usuario = session.usuario
        def avaliacaoCoordenador = new AvaliacaoController().getAvaliacaoPendenteCoordenador(usuario)                
        def avaliacao = new AvaliacaoController().getAvaliacaoPendente(usuario)
        
        if (!avaliacaoCoordenador)
            avaliacaoCoordenador = 0                    
               
        if(avaliacao || avaliacaoCoordenador){
            avaliacao += avaliacaoCoordenador
            flash.message = "VOCÊ TEM " + avaliacao + " AVALIAÇÃO(ÕES) PENDENTE(S)!" 
            redirect(controller: "avaliador", action:"list")
        }

    }

    def login = {
        
    }
    
    def loginValida = {
        def usuario = Usuario.find("from Usuario u where u.login = ? and u.senha = ?",[params.usuario, params.senha.encodeAsMD5()])
        
        if(usuario){
            
           session.usuario = usuario.id
           session.dtIniSession = new Date()
           redirect(action:'index')
        } else {
            session.invalidate()
            flash.errors = "Usuário/Senha inválidos!"
            redirect(action:"login")
        }
    }

    def logout = {
        log.info "User agent: " + request.getHeader("User-Agent")
        session.invalidate()
        redirect(action:"login")
    }

    def alterarSenha = {
        
    }

    def alterarSenhaAtualiza = {
        def usuario = Usuario.get(session.usuario)
        if(usuario.senha==params.senhaAtual.encodeAsMD5()){
            usuario.senha = params.senha.encodeAsMD5()
            usuario.confirmaSenha = params.confirmaSenha.encodeAsMD5()
            if(usuario.save(flush:true)){
                flash.message = "Operação realizada com sucesso!"
                redirect(action:'alterarSenha')
            } else {
                render(view:'alterarSenha',model:[usuario:usuario])
            }
        } else {
            flash.error = 'Senha atual não confere.'
            redirect(action:"alterarSenha")
        }
    }
    
}
